package com.example.common.core.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 自定义注解，用于限制接口频繁访问
 */
@Target(ElementType.METHOD)  // 该注解应用于方法上
@Retention(RetentionPolicy.RUNTIME)  // 在运行时生效
public @interface RateLimit {

    // 限制时间窗口，单位秒
    int period() default 300;  // 1分钟

    // 限制访问次数
    int count() default 5;  // 每个用户最大访问次数

    // 限制的缓存前缀
    String key() default "rate_limit";  // 缓存的key前缀
}

